perm filename BUILTI.NEW[1,JRA] blob
sn#022402 filedate 1973-02-02 generic text, type T, neo UTF8
00100
00200
00300 (DEFPROP NAME
00400 (NIL NAME >PREDLET< BUILTED BUILTCH BUILTED1 BUILTCH1 SETSUP)
00500 VALUE)
00600
00700 (DEFPROP >PREDLET<
00800 (LAMBDA(X)
00900 (OUTRUL X (FUNCTION (LAMBDA NIL (COND ((MEMQ (STK1) (APPEND INFPREDLET PREPREDLET)) (STK1)) (*NIL*))))))
01000 EXPR)
01100
01200 (DEFPROP BUILTED
01300 (LAMBDA (X) (LIST (QUOTE LAMBDA) (QUOTE (C)) (BUILTED1 X)))
01400 EXPR)
01500
01600 (DEFPROP BUILTCH
01700 (LAMBDA(X)
01800 (PROG (Z)
01900 (SETQ Z (BUILTCH1 X))
02000 (RETURN
02100 (COND ((OR (ATOM Z) (EQUAL Z (QUOTE (AND))) (EQUAL X (QUOTE (OR)))) NIL)
02200 (T (LIST (QUOTE LAMBDA) (QUOTE (C1 C2)) Z))))))
02300 EXPR)
02400
02500 (DEFPROP BUILTED1
02600 (LAMBDA(X)
02700 (COND ((ATOM X) X)
02800 ((ATOM (CAR X)) (CONS (CAR X) (BUILTED1 (CDR X))))
02900 ((EQ (CAAR X) (QUOTE DEMOD)) (SETQ DDEPTH (CADDR X)) (SETQ DLIST (*CL (CADR X))) (BUILTED1 (CDR X)))
03000 (T (CONS (BUILTED1 (CAR X)) (BUILTED1 (CDR X))))))
03100 EXPR)
03200
03300 (DEFPROP BUILTCH1
03400 (LAMBDA(X)
03500 (COND ((ATOM X)
03600 (COND ((EQ X (QUOTE ANCESTRY)) (SETQ ANCESTRY T) NIL)
03700 ((EQ X (QUOTE NONE)) NIL)
03800 ((MEMQ X (QUOTE (VINE ALLPOS ALLNEG UNIT)))
03900 (LIST (QUOTE OR) (LIST X (QUOTE C1)) (LIST X (QUOTE C2))))
04000 (T X)))
04100 ((EQ (CAR X) (QUOTE SUPPORT)) (SETSUP (CDR X)) (QUOTE (SUPPORT C2)))
04200 ((EQ (CAR X) (QUOTE MODEL)) (SETQ PMODEL (CADR X))
04300 (SETQ NMODEL (CADDR X))
04400 (QUOTE (OR (NOT (MODEL C1)) (NOT (MODEL C2)))))
04500 ((EQ (CAR X) (QUOTE DEFMODEL))
04600 (LIST (QUOTE OR)
04700 (LIST (QUOTE NOT) (LIST (CDR X) (QUOTE C1)))
04800 (LIST (QUOTE NOT) (LIST (CDR X) (QUOTE C2)))))
04900 ((EQ (CAR X) (QUOTE ANCESTRY)) (SETQ ANCESTRY T) (BUILTCH1 (CDR X)))
05000 ((ATOM (CAR X)) (CONS (CAR X) (BUILTCH1 (CDR X))))
05100 ((EQ (CAAR X) (QUOTE EQUALITY)) (SETQ PFLG NIL)
05200 (SETQ EQUAL (CADAR X))
05300 (SETQ PDEPTH (CADDAR X))
05400 (BUILTCH1 (CDR X)))
05500 (T (CONS (BUILTCH1 (CAR X)) (BUILTCH1 (CDR X))))))
05600 EXPR)
05700
05800 (DEFPROP SETSUP
05900 (LAMBDA(X)
06000 (PROG (Z)(SETQ X(*CL X))
06100 A (COND ((NULL X) (SETQ SUPPORT Z) (RETURN NIL)))
06300 (SETQ Z (CONS (CDAR X) Z))
06400 (SETQ X (CDR X))
06500 (GO A)))
06600 EXPR)